﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CM.DL.DALC.SAP;
using CM.BL.BE;

namespace CM.BL.BC
{
    public class SolicitudPedidoBC
    {
        private string _connId = string.Empty;

        #region Singleton
        public static SolicitudPedidoBC getInstance(string pConnId)
        {
            if (_instance == null)
            {
                lock (typeof(SolicitudPedidoBC))
                {
                    if (_instance == null)
                    {
                        _instance = new SolicitudPedidoBC(pConnId);
                    }
                }
            }
            return _instance;
        }
        private SolicitudPedidoBC(string pConnId) { this._connId = pConnId; }
        private static volatile SolicitudPedidoBC _instance = null;
        #endregion

        public string releaseSP(string pSP, string pCodLib, string pPosicion, out bool pLiberado)
        {
            return SolicitudPedidoDALC.getInstance(CredencialesController.Usuario.Id).releaseSP(pSP, pCodLib, pPosicion, out pLiberado);
        }

        public string getItemsForRelease(out List<SolicitudPedidoBE> lstSP)
        {
            return SolicitudPedidoDALC.getInstance(CredencialesController.Usuario.Id).getItemsSPForRelease(out lstSP);
        }

        public string releaseSPFromHeader(List<POItemBE> lstSP, out List<ResultReleaseFromHeader> pLiberados)
        {
            return SolicitudPedidoDALC.getInstance(CredencialesController.Usuario.Id).releaseSPFromHeader(lstSP, out pLiberados);
        }
    }
}
